1. Technical Field
The present disclosure relates generally to an apparatus and method for performing a compression operation in a hash algorithm, and, more particularly, to an apparatus and method for performing a compression operation in a high-speed message hash algorithm, which receive a 1024-bit message and 512-bit chain variable data, or a 2048-bit message and 1024-bit chain variable data, repeatedly compute 256-bit register based extended message binding and step functions, and perform combination with a final extended message, thereby computing updated 512- or 1024-bit chain variable data that forms the basis of a hash value.
2. Description of the Related Art
The provision of the integrity of messages is the main functionality of encryption applications that are used for the communication and data storage of a variety of types of equipment. Hash functions are functions for guaranteeing the integrity of messages, and are widely used for the signatures and authentication of messages. Generally, in a hash function, chain variable data is used, a message is divided into message units of a specific length, and the message units are input to a compression function along with the chain variable data, thereby updating the chain variable data. Final chain variable data output from a compression function is processed by means of various algorithms and converted into a hash value of the corresponding message.
In this regard, Korean Patent No. 10-0916805 entitled “Hash Algorithm having 256-bit Output” discloses a hash algorithm technique that receives a message bit string of arbitrary length, converts the message bit string into a word string, converts an input message into preset bits, and then performs a compression operation, thereby computing chain variables.
In order to increase the speed efficiency of a hash function, a compression function, which is the core algorithm of the hash function, needs to be designed to be optimally implemented in a chip or a central processing unit (CPU) specialized for an encryption application.